package com.szcinda.service.dto.client;

import com.szcinda.repository.LinePrice;
import com.szcinda.repository.OrderFee;
import com.szcinda.service.PageResult;
import com.szcinda.service.dto.carrier.CarrierVehicleFeeImportDto;
import com.szcinda.service.dto.line.LineQueryDto;
import com.szcinda.service.dto.line.VehicleFeeQueryDto;

import java.util.List;

public interface ClientService {
    void create(ClientCreateDto clientCreateDto);

    void update(ClientUpdateDto updateDto);

    PageResult<ClientDto> query(ClientQueryDto queryDto);

    void delete(String id, String userId);

    ClientDetailDto getById(String id);

    List<ClientDto> getAll();

    List<LinePrice> getLinesByClientId(String clientId, boolean flag);

    List<OrderFee> getByClientId(String clientId);

    List<ClientVehiclePriceDto> getVehiclePrices(VehicleFeeQueryDto queryDto);

    void batchCreate(List<ClientImportDto> importDatas, String opId);

    List<ClientDto> getClientListByOrgId(String orgId);

    void batchCreateVehicleList(List<CarrierVehicleFeeImportDto> importDatas, String belongId);

    List<LinePrice> getLines(LineQueryDto lineQueryDto);
}
